package cn.oracle.eshop.auth.composite;

import cn.oracle.eshop.auth.visitor.PriorityNodeVisitor;
import lombok.Data;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**权限树节点
 * @author wyh
 * @ClassName PriorityNode
 * @date 2022/1/22 /17:16
 */
@Data
public class PriorityNode {
    /**id*/
    private Long id;
    /**权限编号*/
    private String code;
    /**权限Url*/
    private String url;
    /**权限备注*/
    private String priorityComment;
    /**权限类型*/
    private Integer priorityType;
    /**父权限的Id*/
    private Long parentId;
    /**权限的创建时间*/
    private Date gmtCreate;
    /**权限的修改时间*/
    private Date gmtModified;
    /***
     * 子权限节点
    *
    */
    private List<PriorityNode> children=new ArrayList<>();
/***
 * 接收一个权限树访问者
 * @author wyh
 * @date 2022/1/22
 * @param visitor 权限树访问者
 * @return void
*/
    public void accept(PriorityNodeVisitor visitor){
    visitor.visit(this);
}
}
